﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FtpCrawler
{
    /// <summary>
    /// 文件处理器接口
    /// </summary>
    public interface IFileProcessor
    {
        /// <summary>
        /// 获得处理的文件数量
        /// </summary>
        /// <returns></returns>
        int GetFilesCount();

        /// <summary>
        /// 处理文件的方法
        /// </summary>
        /// <param name="fileInfo">指定的文件</param>
        void ProcessFile(FtpFileInfo fileInfo);

        /// <summary>
        /// 处理产生的错误
        /// </summary>
        /// <param name="msg">错误信息</param>
        void ProcessError(string msg);

        /// <summary>
        /// 开始处理
        /// </summary>
        void StartProcess();

        /// <summary>
        /// 处理完成
        /// </summary>
        void ProcessCompleted();
    }
}
